pub fn dp_rec_mc(amount: u32) -> u32 {
    let bills = [100, 50, 30, 20, 10, 5, 2, 1];
    let mut remainder = amount;
    let mut count = 0;
    for &bill in &bills {
        if remainder == 0 {
            break;
        }
        let num_bills = (remainder / bill) as u32;
        if num_bills > 0 {
            count += num_bills;
            remainder -= num_bills * bill;
        }
    }
    count
}
